#!/usr/bin/env python
# -*- coding: UTF-8 -*-
'''
@Project ：PythonData 
@File    ：chapter_5.py
@Author  ：朱志文
@Date    ：2021/11/16 10:38 
'''

'''
7-1 列表排序、逆序 (10 分)
已知列表元素为[12,3,48,6,79,63,89,7]，对列表进行逆序输出、升序排序输出、逆序排序输出。

输入格式:
无

输出格式:
列表逆序结果为：[7, 89, 63, 79, 6, 48, 3, 12] 列表升序排序结果为：[3, 6, 7, 12, 48, 63, 79, 89] 列表降序排序结果为：[89, 79, 63, 48, 12, 7, 6, 3]'''

# list=[12,3,48,6,79,63,89,7]
# print('列表逆序结果为：{list}'.format(list=list[::-1]))
# print('列表升序排序结果为：{list}'.format(list=sorted(list)))
# print('列表降序排序结果为：{list}'.format(list=sorted(list,reverse=True)))

'''
7-2 逆序输出 (10 分)
输入n个数，然后把这n个数逆序输出。

输入格式:
测试数据有多组，处理到文件尾。每组测试数据在一行上首先输入整数n，接着输入n（n<=40）个整数。

输出格式:
对于每组测试，逆序输出n个数，每两个数据之间留一个空格。每两组测试数据之间留一个空行。'''

# f=True
# while True:
#     try:
#         list1=list(map(int,input().split()))
#         del list1[0]
#         if f:
#             f=False
#         else:
#             print('\n')
#         list1.reverse()
#         fs=True
#         for i in list1:
#             if fs:
#                 fs=False
#             else:
#                 print(end=' ')
#             print(i,end='')
#     except:
#         break

'''7-3 部分逆置 (10 分)
输入n个整数，把第i到j之间的全部元素进行逆置（1 ≤ i < j ≤ n），输出逆置后的n个数。

输入格式:
首先输入一个正整数T，表示测试数据的组数，然后是T组测试数据。 每组测试数据首先输入n，i，j（含义如上描述），然后再输入n个整数。

输出格式:
对于每组测试数据，输出逆置后的n个整数。每两个数据之间留1个空格。'''
T = int(input())
for count in range(T):
    list1 = list(map(int, input().split()));
    n, i, j = list1[0], list1[1], list1[2];
    del list1[:3]
    if 1 <= i <= j <= n and len(list1) == n:
        list1[i - 1:j] = sorted(list1[i - 1:j], reverse=True)
        fs = True
        for i in list1:
            if fs:
                fs = False
            else:
                print(end=' ')
            print(i, end='')



'''
7-4 保持数列有序 (10 分)
有n个整数，已经按照从小到大顺序排列好，现在另外给一个整数x，请将该数插入到序列中，并使新的序列仍然有序。

输入格式:
测试数据有多组，处理到文件尾。每组测试先输入两个整数n（1≤n≤100）和x，再输入n个从小到大有序的整数。

输出格式:
对于每组测试，输出插入新元素x后的数列（元素之间留一个空格）。'''
#
# list1=list(map(int,input().split()))
# n,x=list1[0],list1[1]
# del list1[:2]
# if n==len(list1):
#     list1.append(x)
#     flag=True
#     for i in sorted(list1):
#         if flag:
#             flag = False
#         else:
#             print(end=' ')
#         print(i, end='')
#     print()

'''
7-5 找列表中最大元素的下标（高教社，《Python编程基础及应用》习题4-7 (10 分)
输入一个整数列表，找出整数列表中最大元素的下标，如果最大元素的个数超过1，那么请打印输出所有的下标。

输入格式:
数字1,数字2,数字3,....,数字n

输出格式:
下标1 下标2 ... 下标k'''
# list1=list(map(int,input().split(',')))
# max_value=max(list1)
# for i in range(len(list1)):
#     if max_value==list1[i]:
#         print(i)


'''
7-6 删除重复元素 (10 分)
对于给定的数列，要求把其中的重复元素删去再从小到大输出。

输入格式:
首先输入一个正整数T，表示测试数据的组数，然后是T组测试数据。每组测试数据先输入一个整数n（1≤n≤100），再输入n个整数。

输出格式:
对于每组测试，从小到大输出删除重复元素之后的结果，每两个数据之间留一个空格。'''

# T = int(input())
# for i in range(T):
#     list1 = list(map(int, input().split()))
#     n = list1[0]
#     del list1[:1]
#     list2 = list(set(list1))
#     list2 = sorted(list2)
#     fs = True
#     for i in list2:
#         if fs:
#             fs = False
#         else:
#             print(end=' ')
#         print(i, end='')
#     print()

'''
7-7 列表生成及循环左移（高教社，《Python编程基础及应用》习题4-6） (10 分)
从键盘读入一个整数n, 并完成下述任务：

使用快速列表生成语法生成列表 [1, 2, ... ,n-1, n];
使用for循环将列表循环左移一个位置；
输出循环左移后的列表。
输入格式:
n

输出格式:
[2, 3, ... , n, 1]'''

# x = int(input())
# ls = []
# for i in range(1,x+1):
#     ls.append(i)
# def demo(l,n):
#     return (l[n:]+l[:n])  #n之后的部分连接n之前的部分
# print(demo(ls[:],1))





